package com.sw.c.utils;

import lombok.extern.slf4j.Slf4j;
import org.apache.rocketmq.spring.annotation.MessageModel;
import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
import org.apache.rocketmq.spring.core.RocketMQListener;
import org.springframework.stereotype.Service;

/**
 * 消息消费者
 * @RocketMQMessageListener：这是 RocketMQ 提供的一个注解，用来定义消息监听器的配置。这里配置了监听的 topic
 * 为 "test"，消费组名为 "consumer-group"，以及消息模式为 CLUSTERING（集群模式）。
 * 类实现了 RocketMQListener<Object> 接口，意味着它可以处理字符串类型的消息。
 * onMessage 方法是 RocketMQListener 接口要求实现的方法。每当有新的消息到达时，这个方法就会被调用。
 * 在这个方法中，接收到的消息内容会被打印到控制台。%s 是一个占位符，用于格式化字符串，这里它会被传入的字符串 s 替换。
 */
@Slf4j
@Service
@RocketMQMessageListener(topic = "test001", consumerGroup = "consumer-group", messageModel = MessageModel.CLUSTERING)
public class RocketMQConsumer implements RocketMQListener<Object> {

    @Override
    public void onMessage(Object s) {
       log.info("收到消息: {}", s);
    }
}
